﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

namespace LCMS_MVC.Models
{
    public class LORegistrationModel
    {
        #region General

        [Required]
        
        public string ID { get; set; }

        [Required]
        [Display(Name = "Title")]
        public string Title { get; set; }

        [Required]
        [Display(Name = "Description")]
        public string Description { get; set; }

        [Required]
        [Display(Name = "Keyword/Subject")]
        public string KeywordSubject { get; set; }

        [Display(Name = "Language")]
        public string Language { get; set; }

        [Display(Name = "Creator First Name")]
        public string CreatorFirstName { get; set; }

        [Display(Name = "Creator Last Name")]
        public string CreatorLastName { get; set; }

        [Display(Name = "Creator Email")]
        public string CreatorEmail { get; set; }

        [Required]
        public string Identifier { get; set; }

        #endregion

        #region LifeCycle

        [Display(Name = "Version")]
        public string Version { get; set; }

        [Display(Name = "Status")]
        public string Status { get; set; }

        [Display(Name = "Date")]
        public string Date { get; set; }

        [Display(Name = "Provenance")]
        public string Provenance { get; set; }

        [Display(Name = "Contributor")]
        public string Contributor{ get; set; }

        #endregion LifeCycle

        #region Rights

        [Display(Name = "Rightsholder")]
        public string Rightsholder { get; set; }

        [Display(Name = "Cost")]
        public string Cost { get; set; }

        [Display(Name = "Copyright and Other Restrictions")]
        public string CopyrightOtherRestrictions { get; set; }

        [Display(Name = "Description")]
        public string RightsDescription { get; set; }

        #endregion Rights

        #region Technical

        [Required]
        [Display(Name = "Format")]
        public string Format { get; set; }

        [Display(Name = "Size")]
        public string Size { get; set; }

        [Required]
        [Display(Name = "Location")]
        public string Location { get; set; }

        [Display(Name = "Installation Remarks")]
        public string InstallationRemark { get; set; }

        [Display(Name = "Platform Requirements")]
        public string PlatformRequirements { get; set; }

        [Display(Name = "Duration")]
        public string Duration { get; set; }    

        #endregion Technical

        #region Relation

        [Display(Name = "Relation")]
        public string Relation { get; set; }

        [Display(Name = "Description")]
        public string RelationDescription { get; set; }

        [Display(Name = "Source")]
        public string Source { get; set; }

        [Display(Name = "Learning Resource Type")]
        public string LearningResourceType { get; set; }

        #endregion Relation

        #region Educational
        
        [Required]
        [Display(Name = "Difficulty")]
        public string Difficulty { get; set; }

        [Required]
        [Display(Name = "Typical Learning Time")]
        public string TypicalLearningTime { get; set; }

        [Display(Name = "Audience")]
        public string Audience { get; set; }

        [Display(Name = "Number Of Pages")]
        public string NoOfPages { get; set; }

        #endregion Educational

    }
}